1. Field of the Invention
The invention relates to satellite positioning receivers such as GPS (Global Positioning System) receivers.
2. Discussion of the Background
The GPS system uses a constellation of satellites which move around the earth on very precisely determined orbits, that is to say it is possible to know the position of an arbitrary satellite at any time. The satellites transmit radiofrequency signals, containing navigation data and codes which make it possible to identify each satellite. These codes phase modulate a carrier frequency. A GPS receiver, on the ground or on a land, air or sea vehicle, can receive the signals from several satellites simultaneously, precisely calculate its distance from each of the satellites, and deduce therefrom its precise position in latitude, longitude and altitude in a terrestrial frame. It can also deduce therefrom the precise date and time of the reception in the time frame of the GPS system. It can lastly deduce therefrom, by Doppler measurements, its own velocity vector in the terrestrial frame (the case of a receiver mounted on a moving vehicle).
In the GPS system, each satellite is identified by a pseudo-random code which is individual to it and repetitively (for example every millisecond) modulates a carrier frequency which the satellite transmits. There are systems similar to GPS, in particular the GLONASS system, in which this pseudo-random code also exists even though it is not used to identify individual satellites. The invention which will be described is directly applicable to the GLONASS system, but for the sake of simplicity reference will be made below only to the GPS system, and more precisely the "civil" part of the GPS system which also has a military part to which the invention is equally applicable.
The pseudo-random code is a long code (1023 bits at 1.023 MHz, i.e. 1 millisecond), and one of its main functions is to make it possible to extract the satellite's signal from a noise level much higher (for example 30 dB) than the level of the signal. This technique is now widely known as spread spectrum transmission. The signal is extracted from the noise using an operation, in the receiver, of correlation between the received signal and a periodic pseudo-random code which is identical to the one expected to be found in the signal. If the codes do not coincide temporally, there is no correlation between the received signals and the local code generated by a local code generator; if they almost coincide, there is some degree of correlation, the correlation energy becoming stronger as the coincidence becomes more exact. It is therefore possible to establish a correlation signal making it possible to slave a local code generator until exact coincidence is obtained between the local code and the code modulating the signal which the satellite transmits. A code slaving loop then makes it possible to maintain this coincidence.
The pseudo-random code is transmitted by the satellite at extremely precise times which are known at the receiver. Use is made of the correlation operation to determine the arrival time of this code in the receiver: the characteristic time or epoch of transmission of the local code is determined, and since this local code coincides with the received code when the maximum correlation is established, this time represents the arrival time of the received code. The difference between a time at which the code is transmitted via the satellite and a time at which the code is received by the receiver makes it possible to determine a propagation time of the signals between the satellite and the receiver. Knowing that the propagation velocity of the signals is the velocity of light, the distance between the receiver and a given satellite can be calculated. The same operation performed on two other satellites makes it possible, by triangulation, to determine the exact position of the receiver relative to the three satellites.
By using a fourth satellite, the clock errors of the receiver are eliminated, the clock of the receiver not being as precise as that of the satellites. Further to the position of the receiver, it is then possible to calculate a precise time for the position measurement, in the time frame of the GPS satellites.
The position of each of the satellites is known at any time: it is calculated on the basis of tables which are stored in the receiver and are updated by the navigation message broadcast by the satellites. The velocity of the satellites at any time can also be calculated on the basis of these tables.
It is possible to determine, on the basis of the signals sent by four satellites, the time and the position of the receiver relative to the four satellites. Furthermore, by changing co-ordinates, the position of the receiver in a fixed terrestrial frame is obtained, since the position of the satellites at any time is known. The same is true as regard velocity.
However, if more than four satellites are used, redundant information is obtained. This is the case for the professional-quality receivers used, for example, in aeronautics.
If using all the redundant information led exactly to the same velocity calculation results, it would be possible to make do with taking any four satellites from the satellites in the constellation observed at a given time.
However, the measurements are affected by various imprecisions, so that the redundancy is not perfect. Furthermore, a satellite may be operating defectively at a given time and therefore give aberrant information interfering with the position and velocity determinations.
This is why systems have been conceived making it possible to determine the measurement integrity for the position, that is to say to check how good the agreement is between the measurements taken on all the satellites. If the agreement is not good, that is to say if the measurements taken with n satellites do not all project correctly onto a single point in the terrestrial frame, it has also been proposed to find out whether there is one particular satellite which is disrupting the measurement, and it has been proposed to suspend inclusion of this satellite so long as it interferes with the measurement.
One way of measuring the divergence between the measurements delivered by n satellites consists in calculating, by a least squares method, a "distance" in n-dimensional space between, on the one hand, the individual measurements delivered on the basis of each satellite and, on the other hand, a mean point in the four-dimensional terrestrial space (space and time) representing the most probable position of the receiver in view of the n measurements. This search may also be made for a measurement of the receiver's velocity.
The standard deviation between these various distances constitutes an estimated value of divergence between the measurements, and this estimated value may be compared with a threshold: if it is excessive, the measurement may be considered to be tainted with a fault. It may then be desirable to look for and eliminate the satellite or satellites which are the most probable origin of this fault.
To do this, a search may be made, by comparing the n "distances" between one individual measurement and the means point which is found, as to what is the greatest distance and therefore which satellite is the most likely origin of the measurement fault. This satellite may then be eliminated, which means that a new position or a new velocity must then be provided with the measurements from the remaining n-1 satellites.
However, determination of this satellite which is to be excluded requires many time-consuming calculations. These calculations involve n-dimensional matrix calculations, and matrix inversions in these calculations. They have to be repeated several times if several satellites need to be eliminated. However, the receiver has to function in real time and regularly deliver a new position and a new velocity, for example every second or even more frequently. The consequence of this is that, in order to successfully verify the position or velocity integrity and eliminate the defective satellites, far too much computing power and speed would be necessary, leading to a high cost of the receiver.